1,750 research outputs found
Reversible Multiparty Sessions with Checkpoints
Reversible interactions model different scenarios, like biochemical systems
and human as well as automatic negotiations. We abstract interactions via
multiparty sessions enriched with named checkpoints. Computations can either go
forward or roll back to some checkpoints, where possibly different choices may
be taken. In this way communications can be undone and different conversations
may be tried. Interactions are typed with global types, which control also
rollbacks. Typeability of session participants in agreement with global types
ensures session fidelity and progress of reversible communications.Comment: In Proceedings EXPRESS/SOS 2016, arXiv:1608.0269
A Syntactic Model of Mutation and Aliasing
Traditionally, semantic models of imperative languages use an auxiliary
structure which mimics memory. In this way, ownership and other encapsulation
properties need to be reconstructed from the graph structure of such global
memory. We present an alternative "syntactic" model where memory is encoded as
part of the program rather than as a separate resource. This means that
execution can be modelled by just rewriting source code terms, as in semantic
models for functional programs. Formally, this is achieved by the block
construct, introducing local variable declarations, which play the role of
memory when their initializing expressions have been evaluated. In this way, we
obtain a language semantics which directly represents at the syntactic level
constraints on aliasing, allowing simpler reasoning about related properties.
To illustrate this advantage, we consider the issue, widely studied in the
literature, of characterizing an isolated portion of memory, which cannot be
reached through external references. In the syntactic model, closed block
values, called "capsules", provide a simple representation of isolated portions
of memory, and capsules can be safely moved to another location in the memory,
without introducing sharing, by means of "affine' variables. We prove that the
syntactic model can be encoded in the conventional one, hence efficiently
implemented.Comment: In Proceedings DCM 2018 and ITRS 2018 , arXiv:1904.0956
Reconciling positional and nominal binding
We define an extension of the simply-typed lambda calculus where two
different binding mechanisms, by position and by name, nicely coexist. In the
former, as in standard lambda calculus, the matching between parameter and
argument is done on a positional basis, hence alpha-equivalence holds, whereas
in the latter it is done on a nominal basis. The two mechanisms also
respectively correspond to static binding, where the existence and type
compatibility of the argument are checked at compile-time, and dynamic binding,
where they are checked at run-time.Comment: In Proceedings ITRS 2012, arXiv:1307.784
A Calculus of Looping Sequences with Local Rules
In this paper we present a variant of the Calculus of Looping Sequences (CLS
for short) with global and local rewrite rules. While global rules, as in CLS,
are applied anywhere in a given term, local rules can only be applied in the
compartment on which they are defined. Local rules are dynamic: they can be
added, moved and erased. We enrich the new calculus with a parallel semantics
where a reduction step is lead by any number of global and local rules that
could be performed in parallel. A type system is developed to enforce the
property that a compartment must contain only local rules with specific
features. As a running example we model some interactions happening in a cell
starting from its nucleus and moving towards its mitochondria.Comment: In Proceedings DCM 2011, arXiv:1207.682
A Type System for a Stochastic CLS
The Stochastic Calculus of Looping Sequences is suitable to describe the
evolution of microbiological systems, taking into account the speed of the
described activities. We propose a type system for this calculus that models
how the presence of positive and negative catalysers can modify these speeds.
We claim that types are the right abstraction in order to represent the
interaction between elements without specifying exactly the element positions.
Our claim is supported through an example modelling the lactose operon
Constrained Polymorphic Types for a Calculus with Name Variables
We extend the simply-typed lambda-calculus with a mechanism for dynamic rebinding of code based on parametric nominal interfaces. That is, we introduce values which represent single fragments, or families of named fragments, of open code, where free variables are associated with names which do not obey alpha-equivalence. In this way, code fragments can be passed as function arguments and manipulated, through their nominal interface, by operators such as rebinding, overriding and renaming. Moreover, by using name variables, it is possible to write terms which are parametric in their nominal interface and/or in the way it is adapted, greatly enhancing expressivity. However, in order to prevent conflicts when instantiating name variables, the name-polymorphic types of such terms need to be equipped with simple {inequality} constraints. We show soundness of the type system
Parallel BioScape: A Stochastic and Parallel Language for Mobile and Spatial Interactions
BioScape is a concurrent language motivated by the biological landscapes
found at the interface of biology and biomaterials. It has been motivated by
the need to model antibacterial surfaces, biofilm formation, and the effect of
DNAse in treating and preventing biofilm infections. As its predecessor, SPiM,
BioScape has a sequential semantics based on Gillespie's algorithm, and its
implementation does not scale beyond 1000 agents. However, in order to model
larger and more realistic systems, a semantics that may take advantage of the
new multi-core and GPU architectures is needed. This motivates the introduction
of parallel semantics, which is the contribution of this paper: Parallel
BioScape, an extension with fully parallel semantics.Comment: In Proceedings MeCBIC 2012, arXiv:1211.347
- …